package util;


import java.awt.Component;
import java.text.DecimalFormat;
import java.util.Date;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;


public class Util {
    public static String DataToString(Date d)
    {
        int dia = d.getDate();
        int mes = d.getMonth()+1;
        int ano = d.getYear()+1900;
        return String.format("%d/%d/%d", dia, mes,ano);
    }
    
    public static Date parseDate(String s) throws Exception
    {
        String[] string = s.split("/");
        if(string.length!=3) throw new Exception("A data informada é inválida. informe uma data no formato dd/mm/aaaa.");
        Date data = new Date();
        data.setDate(Integer.parseInt(string[0]));
        data.setMonth(Integer.parseInt(string[1]));
        data.setYear(Integer.parseInt(string[2]));
        return data;
    }
    
    public static void ExibeMensagem(Component Form, String Titulo, String Mensagem, TipoMensagem tipoMensagem)
    {
        JOptionPane.showMessageDialog(Form, Mensagem, Titulo, tipoMensagem.ordinal());
    }
    
    public static void ExibeMensagem(Component Form, String Titulo, Exception ex)
    {
        JOptionPane.showMessageDialog(Form, ex.getMessage(), Titulo, TipoMensagem.Erro.ordinal());
    }
    
    public static double formatDouble(double numero, int casasDecimais)
    {
        String formato = "0.";
        for(int i=0; i<casasDecimais; i++)
            formato+="0";
        DecimalFormat fmt = new DecimalFormat(formato);
        String[] parts = fmt.format(numero).split("[,]");
        return Double.parseDouble(parts[0]+ "." + parts[1]);
    }
    
}
